// JavaScript Document
$(function(){
	//placeholder
	if($('#loginForm')[0]){
		var $form = $('#loginForm')
		var support = (function (input) {
			return function (attr) {
				return attr in input
			}
		})(document.createElement('input'))
		if (!(support('placeholder') && $.browser.webkit)) {
			$('input[ node-type="placeholder"]', $form).placeholder({
				useNative: false,
				hideOnFocus: false,
				style: {
					textShadow: 'none'
				}
			})
		}
		if (!support('autofocus')) {
			$('input[autofocus]', $form).focus()
		}
	}
	//影片简介展开
		var introSummary = $('div[node-type="summary"]'),
				introAll = $('div[node-type="all"]'),
				showBtn = $('#show_intro');
		if(!introSummary[0]){introAll.show()};
		showBtn.click(function(){
				introSummary.hide();
				introAll.show()		
			});
			
		//回复字数提示
		$('form[node-type="replyForm"]').size() && $('form[node-type="replyForm"]').each(function(){
			$(this).find('.replyText').artTxtCount($(this).find('.txtCount_tip'), 140);
		});
});
//回复评论展开效果
function replyFn(selector){
	var replyBtn = $(selector).find('a[node-type="replyBtn"]');
	
	replyBtn.toggle(function(){
				$(this).closest(selector).find('div[node-type="replyBox"]').slideDown()
			},function(){
				$(this).closest(selector).find('div[node-type="replyBox"]').slideUp()
			})
	};
replyFn('.comment-item');






/*
 * 相册左右滚动插件
 * 影片左右滚动效果
 * 默认用法 $('#id').movieScroll()
 */
(function ($) {
	$.fn.movieScroll = function (config) {
		var next_len    = 2, 
		    isDone	    = false,
			scrollBox   = $(this),
			prevBtn     = scrollBox.find('.prev_btn'),
			nextBtn     = scrollBox.find('.next_btn'),
			imgBox      = scrollBox.find('.movie-wrap'),
			$ul         = imgBox.find("ul"),
			slide_width = $(".slider-wrap").width(); //加1是为了去掉左边的border 

		return this.each(function(){
			function setOpacity() {
				imgBox.animate({opacity: 1}, 500,function(){
					isDone = false;
				})
			}
			function scrollNext() {  
				if(imgBox.is(':animated')){
					return false;
				}
				if( $ul.width() * $ul.length + imgBox.position().left > slide_width  ) {
					isDone = true;
					imgBox.animate({left: "+=" + "-" + slide_width}, 500, setOpacity);
				}  
			}
			function scrollPrev() {
				if(imgBox.is(':animated')){
					return false;
				} 
				if( imgBox.position().left + slide_width  <= 1){
					imgBox.animate({left: "+=" + slide_width }, 500, setOpacity);
				}
			}
			prevBtn.bind('click', scrollPrev); 
			nextBtn.bind('click', scrollNext);  
		})
	}
})(jQuery);




/*
 * html5 placeholder pollfill
 * - 使用绝对定位内嵌层
 * - 也适用于密码域
 * 目标浏览器: IE 6~9, FF 3.5
 ```
// 默认
$('input[placeholder]').placeholder()

// autofocus 与 placeholder 搭配时，非 webkit 清空了提示文本，推荐
$('input[placeholder]').placeholder({
// 将删除原有 placehodler 属性，强制用 JS 实现替代
useNative: false, 
// focus 时不清除提示文本， keypress 有效字符时才清空
hideOnFocus: false, 
// 附加样式
style: {
textShadow: 'none'
}
})
```
*/
(function ($) {
	var attr = 'placeholder', nativeSupported = attr in document.createElement('input')

	$.fn.placeholder = function (options) {
		return this.each(function () {
			var $input = $(this)

			if ( typeof options === 'string' ) {
				options = { text: options }
			}

			var opt = $.extend({
				text     : '',
				style    : {},
				namespace: 'placeholder',
				useNative: true,
				hideOnFocus: true
			}, options || {})

			if ( !opt.text ) {
				opt.text = $input.attr(attr)
			}

			if (!opt.useNative) {
				$input.removeAttr(attr)
			}else if ( nativeSupported ) {
				// 仅改变文本 
				$input.attr(attr, opt.text)
				return
			}

			var width     = $input.width(), height = $input.height()
			var box_style = ['marginTop', 'marginLeft', 'paddingTop', 'paddingLeft', 'paddingRight']

			var show      = function () { $layer.show() }
			var hide      = function () { $layer.hide() }
			var is_empty  = function () { return !$input.val() }
			var check     = function () { is_empty() ? show() : hide() }

			var position  = function () {
				var pos = $input.position()
				if (!opt.hideOnFocus) {
					// 按鍵隱藏的情况，需要移動光標两像素
					pos.left += 2
				}
				$layer.css(pos)
				$.each(box_style, function (i, name) {
					$layer.css(name, $input.css(name))
				})
			}

			var layer_style = {
				color     : 'gray',
				cursor    : 'text',
				textAlign : 'left',
				position  : 'absolute',
				fontSize  : $input.css('fontSize'),
				fontFamily: $input.css('fontFamily'),
				display   : is_empty() ? 'block' : 'none'
			}

			// create
			var layer_props = {
				text  : opt.text,
				width : width,
				height: 'auto'
			}

			// 确保只绑定一次
			var ns = '.' + opt.namespace, $layer = $input.data('layer' + ns)
			if (!$layer) {
				$input.data('layer' + ns, $layer = $('<div>', layer_props).appendTo($input.offsetParent()) )
			}

			// activate
			$layer
			.css($.extend(layer_style, opt.style))
			.unbind('click' + ns)
			.bind('click' + ns, function () {
				opt.hideOnFocus && hide()
				$input.focus()
			})

			$input
			.unbind(ns)
			.bind('blur' + ns, check)

			if (opt.hideOnFocus) {
				$input.bind('focus' + ns, hide)
			}else{
				$input.bind('keypress keydown' + ns, function(e) {
					var key = e.keyCode
					if (e.charCode || (key >= 65 && key <=90)) {
						hide()
					}
				})
				.bind('keyup' + ns,check)
			}

			// 由于 ie 记住密码的特性，需要监听值改变
			// ie9 不支持 jq bind 此事件
			$input.get(0).onpropertychange = check

			position()
			check()
		})
	}
})(jQuery);

/**输入字符提示**
	// 批量调用
	$('.autoTxtCount').each(function(){
	$(this).find('.text').artTxtCount($(this).find('.tips'), 140);
	});
	// 单个调用
	$('#test').artTxtCount($('#test_tips'), 10);
	})
**/
(function ($) {
	// tipWrap:  提示消息的容器
	// maxNumber:  最大输入字符
	$.fn.artTxtCount = function (tipWrap, maxNumber) {
			var countClass = 'js_txtCount',
					// 定义内部容器的CSS类名
					fullClass = 'js_txtFull',
					// 定义超出字符的CSS类名
					disabledClass = 'disabled'; // 定义不可用提交按钮CSS类名
			// 统计字数
			var count = function () {
							var btn = $(this).closest('form').find(':submit'),
									val = $(this).val().replace('/[\u4e00-\u9fa5]/g','**').length / 2,
									val = Math.ceil(val)
									// 是否禁用提交按钮
									disabled = {
											on: function () {
													btn.removeAttr('disabled').removeClass(disabledClass);
											},
											off: function () {
													btn.attr('disabled', 'disabled').addClass(disabledClass);
											}
									};
							if (val == 0) disabled.off();
							if (val <= maxNumber) {
									if (val > 0) disabled.on();
									tipWrap.html('<span class="' + countClass + '"><strong>' + (maxNumber - val) + '</strong></span>');
							} else {
									disabled.off();
									tipWrap.html('<span class="' + countClass + ' ' + fullClass + '"><strong>' + (maxNumber - val) + '</strong></span>');
							};
					};
			$(this).bind('keyup change', count);
			return this;
	};
})(jQuery);


//星星评分
function rate(obj,oEvent){
	var imgSrc = '../images/star-1.gif';
	var imgSrc_2 = '../images/star-2.gif';
	if(obj.rateFlag) return;
	var e = oEvent || window.event;
	var target = e.target || e.srcElement;
	var imgArray = obj.getElementsByTagName("img");
	for(var i=0;i<imgArray.length;i++){
		 imgArray[i]._num = i;
		 imgArray[i].onclick=function(){
			if(obj.rateFlag) return;
			$("#countSpan").html(this._num+1 + '分');
			$("#countInput").val(this._num+1);
		 }
	}
	if(target.tagName=="IMG"){
		 for(var j=0;j<imgArray.length;j++){
			if(j<=target._num){
			 imgArray[j].src=imgSrc_2;
			} else {
			 imgArray[j].src=imgSrc;
			}
	 target.parentNode.onmouseout=function(){
	 var imgnum=parseInt(Number($("#countInput").val()));
		for(n=0;n<imgArray.length;n++){
		 imgArray[n].src=imgSrc;
		}
		for(n=0;n<imgnum;n++){
		 imgArray[n].src=imgSrc_2;
		}
	 }
		 }
	} else {
		return false;
	}
};

(function ($) {
	$.fn.operation = function (config) {
		$this = $(this);
		return this.each(function(){
			$this.find('.m-operate').find('a').live('click', function(e) {
				var $a = $(this);
				if($a.hasClass('m-add')) return false;
				if($a.hasClass('m-collect')) {
					$a.removeClass('m-collect').text('取消');
					//$a.text('取消');
				} else {
					$a.addClass('m-collect').text('收藏');
					//$a.text('收藏');
				}
				return false;
			});
			$('.m-img').live('mouseover', function() {
				$(this).find('.m-operate').show();
			});
			$('.m-img').live('mouseout', function() {
				$(this).find('.m-operate').hide();
			});
			$this.find('.m-add').live('click', function() {
				var html = [
					'<div>',
					'<ul class="nav">',
					'<li>选择影集</li>',
					'<li>创建影集</li>',
					'</ul>',
					'</div>',
					'<div class="tabContent">',
					'<div class="list activeContent">',
					'<ul>',
					'<li><input type="checkbox" name="album" value="1" checked/>1</li>',
					'<li><input type="checkbox" name="album" value="2"/>2</li>',
					'<li><input type="checkbox" name="album" value="3"/>3</li>',
					'</ul>',
					'<p class="btn"><button id="cancel">保存</button><button id="saveRadio">取消</button></p>',
					'</div>',
					'<div class="newAblum">',
					'<form>',
					'<p><label for="albumName">影集名称:</label><input type="text" id="albumName"/></p>',
					'<p><label for="albumText">影集介绍:</label><textarea id="albumText"/></textarea></p>',
					'<p class="btn"><button id="saveAlbum">保存</button></p>',
					'</form>',
					'</div>',
					'</div>'
				].join('');
				var dialog = art.dialog({
					id:1,
					title:'添加到影集',
					fixed: true,
					lock: true,
					content:html
				});
				$('.nav').find('li:eq(0)').addClass('active');
				$('.tabContent').find('div:eq(0)').addClass('activeContent').show();
				$('.nav').find('li').click(function() {
					var $this = $(this);
					$this.siblings().removeClass('active');
					$this.addClass('active');
					var $content = $('.tabContent').find('div:eq(' + $this.index() + ')');
					$content.siblings().removeClass('activeContent').hide();
					$content.addClass('activeContent').show();
				});
				$('#cancel').click(function() {
					dialog.close();
				});
				$('#saveRadio').click(function() {
					alert($(':radio:checked').val());
					dialog.close();
				});
				$('#saveAlbum').click(function() {
					var albumName = $('#albumName').val();
					var item = '<input type="radio" name="album" value="' + albumName + '"/>' + albumName;
					$('.list').prepend(item);
					var $content = $('.tabContent').find('div:eq(0)');
					var $nav = $('.nav').find('li:eq(0)').addClass('active');
					$nav.siblings().removeClass('active');
					$content.siblings().removeClass('activeContent').hide();
					$content.addClass('activeContent').show();
				});
				return false;
			});
		})
	}
})(jQuery);











/*cyh 2012-8-27*/
var Common = {
	bindAlbumScroll : function(){
		$('div[node-type="album"]').each(function(){
			$(this).movieScroll();
			$(this).operation();
		});
	}
};